﻿using Abp.Application.Services;
using FwProject.Com.Dto;
using FwProject.ShoppingMall.Com;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using X.PagedList;

namespace FwProject.Com
{
    /// <summary>
    /// 收货地址管理
    /// </summary>
   public  interface IShopReceivingAddressAppService : IApplicationService
    {
        # region 收货地址管理
                /// <summary>
                /// 创建一个收货地址
                /// </summary>
                /// <param name="model"></param>
                /// <returns></returns>
                Task<Guid> CreateShopReceivingAddress(ShopReceivingAddressInput model);
                /// <summary>
                /// 修改一个收货地址
                /// </summary>
                /// <param name="id"></param>
                /// <param name="model"></param>
                /// <returns></returns>
                Task ModifyShopReceivingAddress(ShopReceivingAddressEdit model);
                /// <summary>
                /// 删除一个收货地址
                /// </summary>
                /// <param name="Id"></param>
                /// <returns></returns>
                Task CleanRemoveShopReceivingAddress(Guid Id);
                /// <summary>
                /// 获取我的收货地址
                /// </summary>
                /// <param name="page"></param>
                /// <param name="pageSize"></param>
                /// <returns></returns>
                Task<IPagedList<ShopReceivingAddressDto>> GetShopReceivingAddressByList(int page, int pageSize);
                /// <summary>
                /// 设置为默认收货地址
                /// </summary>
                /// <param name="Id"></param>
                void SetDefalutAddress(Guid Id);
        /// <summary>
        /// 获取默认收货地址
        /// </summary>
        /// <returns></returns>
        ShopReceivingAddressDto GetShopReceivingAddressByIsDefalut();
                #endregion
    }
}
